package com.yantong.pay.yfz.domain.cust.domain.merchant.request;

import com.alibaba.fastjson.JSON;

import java.util.List;

/**
 * 进口进件商户信息
 * @author fwy
 * @since 2019-2-18
 * 
 */
public class SpMerchantPaper {
	
	// 基础信息
	private String merchantType; // 必填。商户类型1：个体工商户 2：企业 3：个人。 对应：type
	
	private String merchantName; // 报文返回时用到
	
	private String shortName;	// 必填。商户简称 
	
	private String isCc;	// merchantType= 1、2 必传。营业执照类型：1：已三证合一；0：未三证合一

	private String businessLicenseCode; // merchantType= 1、2 必传。营业执照号，注：长度：13—18。对应：BUSINESS_LICENSE_NO
	
	private String businessLicenseName; // merchantType= 1、2 必传。商户经营名称，注：与营业执照上登记注册的名称一致。对应：customer.name
	
	private String businessLicensePhoto; // merchantType= 1、2 必传。营业执照照片。 对应附件处理
	
	private String businessLicenseFrom;	// merchantType= 1、2 必传。营业期限起始：格式：yyyymmdd

	private String businessLicenseTo; // merchantType= 1、2 必传。营业执照有效期，格式：yyyymmdd，无限期填写“长期”。对应：BUSINESS_LICENSE_TO
	
	private String businessScope;	// 必填，经营范围。对应business_scope
	
	private String organizationCodePhoto;// 组织机构代码照片
	
	private String organizationCode; // 组织机构代码，三证合一为否时必填
	
	private String organizationCodeFrom; // 组织机构有起始效期，三证合一为否时必填，格式：yyyymmdd
	
	private String organizationCodeTo; // 组织机构有截止效期，三证合一为否时必填，格式：yyyymmdd
	
	private String taxRegisterNo; // 税务登记号码（国税）
	
	private String icpLicenceNo; // ICP经营许可证号
	
	private String icpRecordNo; // ICP备案号

	private String mcc; // 商户类别MCC
	
	private  String unionShortName; // 银联快捷简称	
	
	private String registerAddress; // 注册地址
	// 位置信息
	private String businessAddress; // 必填，经营地址，与经营地址一致。对应：customer.address。 只传一个地址，同登记到REGISTERED_ADDRESS
	
	private String province; // 必填，省，与经营地址一致。对应：？？？
	
	private String city; // 必填，市，与经营地址一致。对应：？？？
	
	private String area; // 必填，区，与经营地址一致。对应：？？？
	
	private String storeHeadPhoto; // 必填， 门店门头照。 对应附件处理
	
	private String storeShopPhoto; // 必填， 门店外景照。 对应附件处理
	
	private String storeHallPhoto; // 必填， 门店内景照。 对应附件处理
	
	private String storeCashierPhoto; // 必填， 门店收银台照。 对应附件处理
	
	// 个人资料信息
	private String lawyerName; // merchantType= 1、2 必传，法人姓名。 对应：LEGAL_REPRESENTATIVE_NAME
	
	private String lawyerCertType; // merchantType= 1、2 必传，法人证件类型。对应：CERTIFICATE_TYPE
	
	private String lawyerCertNo; // merchantType= 1、2 必传，法人证件号码。对应：CERTIFICATE_NO
	
	private String lawyerCertPhotoFront; // merchantType= 1、2 必传，法人证件正面照。对应附件处理
	
	private String lawyerCertPhotoBack; // 法人证件背面照（1、2不一定传）。对应附件处理
	
	private String certificateName;	//  merchantType= 1、2 必传。证件人姓名
	
	private String certificateFrom; //  merchantType= 1、2 必传。证件有效期(起始)  ， 格式：yyyymmdd
	
	private String certificateTo;	//  merchantType= 1、2 必传。证件有效期(截止)， 格式：yyyymmdd， 无限期填写“长期”。
	
	// 联系人信息
	private String contactPerson; // 必填，联系人姓名。 对应：contact.name
	
	private String contactPhone; // 必填，联系人手机号码。对应：contact.mobile
	
	private String serviceTel; // 必填，客服电话。对应：contact.tel
	
	private String email;// 必填，邮箱地址。 对应：contact.email
	
	// 实际控制人（负责人）信息
    private String controllerType; // 实际控制人证件类型

    private String controllerNo; // 实际控制人证件号码

    private String controllerName; // 实际控制人姓名

    private String controllerFrom; // 实际控制人证件有效期（起始），格式：yyyymmdd

    private String controllerTo; // 实际控制人证件有效期（截止） ，格式：yyyymmdd， 无限期填写“长期”。
	
	// 开户许可证
	private String openingLicenseAccountPhoto; // settleAccountType=1 时必传，开户许可证（照片）。对应附件处理

	private String licenceAccountNo; // 必填，开户许可证账号。
	
	private String licenceAccount; // 必填，开户许可证账户名（与商户名一致）。
	
	private String licenceOpenBank; // 必填，开户许可证开户银行。对应bankcard.bankCode
	
	private String licenceOpenSubBank; // 必填，开户许可证开户支行。对应bankcard.remark， bankcard.bankBranchName
	
	// 结算账号信息 保存bankcard与cust_settlement_account。不需要存草稿审核。
	private String settleAccountType; // 必填，1：对公账户 2：法人账户  3：被授权人账户。merchantType=3 时必填 2。
	
	private String settleAccountNo; // 必填，结算户号。
	
	private String settleAccount; // 必填，结算户名。
	
	private String settleTarget; // 必填，结算方式：1：自动结算；2：手动结算
	
	private String acquiringAgreementPhoto; // 必填， 商户收单协议照片。对应附件处理
	
	private String settleAuthLetterPhoto; // settleAccountType=3 时必填，结算授权书（照片）。对应附件处理
	
	private String bankCardPhotoFront; // settleAccountType=2,3 时 必	传，银行卡正面照。对应附件处理
	
	private String bankCardPhotoBack; // 银行卡背面照。对应附件处理
	
	private String openBank; // 必填，开户银行。对应bankcard.bankCode
	
	private String openSubBank; // 开户支行。对应bankcard.remark， bankcard.bankBranchName
	
	private String openBankCode; // 开户行联行号。对应bankcard.bankBranch
	
	private String openBankReservePhone; // 非必填，银行预留手机号
	
    private List<String> otherPhoto; // 其他附件
	
	private String sourceChannel; // 来源， 中海油迁移接口设置来源
	
	
	
	public String getMerchantType() {
		return merchantType;
	}

	public void setMerchantType(String merchantType) {
		this.merchantType = merchantType;
	}

	public String getMerchantName() {
		return merchantName;
	}

	public void setMerchantName(String merchantName) {
		this.merchantName = merchantName;
	}

	public String getBusinessLicenseCode() {
		return businessLicenseCode;
	}

	public void setBusinessLicenseCode(String businessLicenseCode) {
		this.businessLicenseCode = businessLicenseCode;
	}

	public String getBusinessLicenseName() {
		return businessLicenseName;
	}

	public void setBusinessLicenseName(String businessLicenseName) {
		this.businessLicenseName = businessLicenseName;
	}

	public String getBusinessLicensePhoto() {
		return businessLicensePhoto;
	}

	public void setBusinessLicensePhoto(String businessLicensePhoto) {
		this.businessLicensePhoto = businessLicensePhoto;
	}

	public String getBusinessLicenseTo() {
		return businessLicenseTo;
	}

	public void setBusinessLicenseTo(String businessLicenseTo) {
		this.businessLicenseTo = businessLicenseTo;
	}

	public String getBusinessAddress() {
		return businessAddress;
	}

	public void setBusinessAddress(String businessAddress) {
		this.businessAddress = businessAddress;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public String getStoreHeadPhoto() {
		return storeHeadPhoto;
	}

	public void setStoreHeadPhoto(String storeHeadPhoto) {
		this.storeHeadPhoto = storeHeadPhoto;
	}

	public String getStoreShopPhoto() {
		return storeShopPhoto;
	}

	public void setStoreShopPhoto(String storeShopPhoto) {
		this.storeShopPhoto = storeShopPhoto;
	}

	public String getStoreHallPhoto() {
		return storeHallPhoto;
	}

	public void setStoreHallPhoto(String storeHallPhoto) {
		this.storeHallPhoto = storeHallPhoto;
	}

	public String getStoreCashierPhoto() {
		return storeCashierPhoto;
	}

	public void setStoreCashierPhoto(String storeCashierPhoto) {
		this.storeCashierPhoto = storeCashierPhoto;
	}

	public String getLawyerName() {
		return lawyerName;
	}

	public void setLawyerName(String lawyerName) {
		this.lawyerName = lawyerName;
	}

	public String getLawyerCertType() {
		return lawyerCertType;
	}

	public void setLawyerCertType(String lawyerCertType) {
		this.lawyerCertType = lawyerCertType;
	}

	public String getLawyerCertNo() {
		return lawyerCertNo;
	}

	public void setLawyerCertNo(String lawyerCertNo) {
		this.lawyerCertNo = lawyerCertNo;
	}

	public String getLawyerCertPhotoFront() {
		return lawyerCertPhotoFront;
	}

	public void setLawyerCertPhotoFront(String lawyerCertPhotoFront) {
		this.lawyerCertPhotoFront = lawyerCertPhotoFront;
	}

	public String getLawyerCertPhotoBack() {
		return lawyerCertPhotoBack;
	}

	public void setLawyerCertPhotoBack(String lawyerCertPhotoBack) {
		this.lawyerCertPhotoBack = lawyerCertPhotoBack;
	}

	public String getContactPerson() {
		return contactPerson;
	}

	public void setContactPerson(String contactPerson) {
		this.contactPerson = contactPerson;
	}

	public String getContactPhone() {
		return contactPhone;
	}

	public void setContactPhone(String contactPhone) {
		this.contactPhone = contactPhone;
	}

	public String getServiceTel() {
		return serviceTel;
	}

	public void setServiceTel(String serviceTel) {
		this.serviceTel = serviceTel;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getControllerType() {
		return controllerType;
	}

	public void setControllerType(String controllerType) {
		this.controllerType = controllerType;
	}

	public String getControllerNo() {
		return controllerNo;
	}

	public void setControllerNo(String controllerNo) {
		this.controllerNo = controllerNo;
	}

	public String getControllerName() {
		return controllerName;
	}

	public void setControllerName(String controllerName) {
		this.controllerName = controllerName;
	}

	public String getControllerFrom() {
		return controllerFrom;
	}
	
	public void setControllerFrom(String controllerFrom) {
		this.controllerFrom = controllerFrom;
	}
	
	public String getControllerTo() {
		return controllerTo;
	}

	public void setControllerTo(String controllerTo) {
		this.controllerTo = controllerTo;
	}

	public String getSettleAccountType() {
		return settleAccountType;
	}

	public void setSettleAccountType(String settleAccountType) {
		this.settleAccountType = settleAccountType;
	}

	public String getSettleAccountNo() {
		return settleAccountNo;
	}

	public void setSettleAccountNo(String settleAccountNo) {
		this.settleAccountNo = settleAccountNo;
	}

	public String getSettleAccount() {
		return settleAccount;
	}

	public void setSettleAccount(String settleAccount) {
		this.settleAccount = settleAccount;
	}

	public String getSettleTarget() {
		return settleTarget;
	}

	public void setSettleTarget(String settleTarget) {
		this.settleTarget = settleTarget;
	}

	public String getOpeningLicenseAccountPhoto() {
		return openingLicenseAccountPhoto;
	}

	public void setOpeningLicenseAccountPhoto(String openingLicenseAccountPhoto) {
		this.openingLicenseAccountPhoto = openingLicenseAccountPhoto;
	}

	public String getAcquiringAgreementPhoto() {
		return acquiringAgreementPhoto;
	}

	public void setAcquiringAgreementPhoto(String acquiringAgreementPhoto) {
		this.acquiringAgreementPhoto = acquiringAgreementPhoto;
	}

	public String getSettleAuthLetterPhoto() {
		return settleAuthLetterPhoto;
	}

	public void setSettleAuthLetterPhoto(String settleAuthLetterPhoto) {
		this.settleAuthLetterPhoto = settleAuthLetterPhoto;
	}

	public String getBankCardPhotoFront() {
		return bankCardPhotoFront;
	}

	public void setBankCardPhotoFront(String bankCardPhotoFront) {
		this.bankCardPhotoFront = bankCardPhotoFront;
	}

	public String getBankCardPhotoBack() {
		return bankCardPhotoBack;
	}

	public void setBankCardPhotoBack(String bankCardPhotoBack) {
		this.bankCardPhotoBack = bankCardPhotoBack;
	}

	public String getOpenBank() {
		return openBank;
	}

	public void setOpenBank(String openBank) {
		this.openBank = openBank;
	}

	public String getOpenSubBank() {
		return openSubBank;
	}

	public void setOpenSubBank(String openSubBank) {
		this.openSubBank = openSubBank;
	}

	public String getOpenBankCode() {
		return openBankCode;
	}

	public void setOpenBankCode(String openBankCode) {
		this.openBankCode = openBankCode;
	}

	public String getOpenBankReservePhone() {
		return openBankReservePhone;
	}

	public void setOpenBankReservePhone(String openBankReservePhone) {
		this.openBankReservePhone = openBankReservePhone;
	}

	public String getLicenceAccountNo() {
		return licenceAccountNo;
	}

	public void setLicenceAccountNo(String licenceAccountNo) {
		this.licenceAccountNo = licenceAccountNo;
	}

	public String getLicenceAccount() {
		return licenceAccount;
	}

	public void setLicenceAccount(String licenceAccount) {
		this.licenceAccount = licenceAccount;
	}

	public String getLicenceOpenBank() {
		return licenceOpenBank;
	}

	public void setLicenceOpenBank(String licenceOpenBank) {
		this.licenceOpenBank = licenceOpenBank;
	}

	public String getLicenceOpenSubBank() {
		return licenceOpenSubBank;
	}

	public void setLicenceOpenSubBank(String licenceOpenSubBank) {
		this.licenceOpenSubBank = licenceOpenSubBank;
	}

	public String getShortName() {
		return shortName;
	}

	public void setShortName(String shortName) {
		this.shortName = shortName;
	}

	public String getIsCc() {
		return isCc;
	}

	public void setIsCc(String isCc) {
		this.isCc = isCc;
	}

	public String getBusinessLicenseFrom() {
		return businessLicenseFrom;
	}

	public void setBusinessLicenseFrom(String businessLicenseFrom) {
		this.businessLicenseFrom = businessLicenseFrom;
	}

	public String getBusinessScope() {
		return businessScope;
	}

	public void setBusinessScope(String businessScope) {
		this.businessScope = businessScope;
	}

	public String getCertificateName() {
		return certificateName;
	}

	public void setCertificateName(String certificateName) {
		this.certificateName = certificateName;
	}

	public String getCertificateFrom() {
		return certificateFrom;
	}

	public void setCertificateFrom(String certificateFrom) {
		this.certificateFrom = certificateFrom;
	}

	public String getCertificateTo() {
		return certificateTo;
	}

	public void setCertificateTo(String certificateTo) {
		this.certificateTo = certificateTo;
	}

	public String getOrganizationCodePhoto() {
		return organizationCodePhoto;
	}

	public void setOrganizationCodePhoto(String organizationCodePhoto) {
		this.organizationCodePhoto = organizationCodePhoto;
	}

	public String getOrganizationCode() {
		return organizationCode;
	}

	public void setOrganizationCode(String organizationCode) {
		this.organizationCode = organizationCode;
	}

	public String getOrganizationCodeFrom() {
		return organizationCodeFrom;
	}

	public void setOrganizationCodeFrom(String organizationCodeFrom) {
		this.organizationCodeFrom = organizationCodeFrom;
	}

	public String getOrganizationCodeTo() {
		return organizationCodeTo;
	}

	public void setOrganizationCodeTo(String organizationCodeTo) {
		this.organizationCodeTo = organizationCodeTo;
	}
	
	public String getTaxRegisterNo() {
		return taxRegisterNo;
	}

	public void setTaxRegisterNo(String taxRegisterNo) {
		this.taxRegisterNo = taxRegisterNo;
	}

	public String getIcpLicenceNo() {
		return icpLicenceNo;
	}

	public void setIcpLicenceNo(String icpLicenceNo) {
		this.icpLicenceNo = icpLicenceNo;
	}

	public String getIcpRecordNo() {
		return icpRecordNo;
	}

	public void setIcpRecordNo(String icpRecordNo) {
		this.icpRecordNo = icpRecordNo;
	}

	public String getSourceChannel() {
		return sourceChannel;
	}

	public void setSourceChannel(String sourceChannel) {
		this.sourceChannel = sourceChannel;
	}
	
	@Override
	public String toString() {
		return JSON.toJSONString(this);
	}

	public String getMcc() {
		return mcc;
	}

	public void setMcc(String mcc) {
		this.mcc = mcc;
	}

	public String getRegisterAddress() {
		return registerAddress;
	}

	public void setRegisterAddress(String registerAddress) {
		this.registerAddress = registerAddress;
	}

	public String getUnionShortName() {
		return unionShortName;
	}

	public void setUnionShortName(String unionShortName) {
		this.unionShortName = unionShortName;
	}

	public List<String> getOtherPhoto() {
		return otherPhoto;
	}

	public void setOtherPhoto(List<String> otherPhoto) {
		this.otherPhoto = otherPhoto;
	}


	
	
}

